﻿using BonjourQuotation.ObjectModel.ErrorData;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace BonjourQuotation.ObjectModel.BusinessData
{
    public class OperationBusGridBData
    {
        public const int TakeCount = 10;
        public int BusCount { get; set; }
        public List<OperationBusGridRowBData> Rows { get; set; }
        public List<OperationBusGridSaveRowBData> SaveRows { get; set; }
        public List<OperationBusVendorInfoBData> VendorInfo { get; set; }
        public List<OperationBusGuideInfoBData> GuideInfo { get; set; }
        public Dictionary<int, string> Customer { get; set; }
        public Dictionary<int, string> Roomtype { get; set; }
        public Dictionary<int, string> VendorStatus { get; set; }
        public Dictionary<int, string> VendorName { get; set; }
        public Dictionary<int, string> GuideName { get; set; }
        public List<string> VendorCity { get; set; }
        public Dictionary<int, string> PayMethod { get; set; }
        public Dictionary<int, string> Employee { get; set; }
        public Dictionary<int, OperationBusDetailInfoBData> DetailCode { get; set; }
        public List<OperationBusServiceInfoBData> Service { get; set; }
        public Dictionary<int, string> GroupCode { get; set; }
        public Dictionary<int, string> FilterGroupCode { get; set; }
        public Dictionary<int, string> FilterGroupName { get; set; }
        public Dictionary<int, string> FilterCustomerCode { get; set; }
        public Dictionary<int, string> FilterVendorName { get; set; }
        public Dictionary<int, string> FilterVendorStatus { get; set; }
        public List<string> FilterStartCity { get; set; }
        public List<string> FilterEndCity { get; set; }
        public int? QuotaID { get; set; }
        public int GroupID { get; set; }
        public string SearchGroupCode { get; set; }
        public DateTime? SearchStartFromDate { get; set; }
        public DateTime? SearchStartToDate { get; set; }
        public string SearchStartCity { get; set; }
        public string SearchEndCity { get; set; }
        public string SearchCustomer { get; set; }
        public string SearchVendorName { get; set; }
        public string SearchGuideName { get; set; }
        public string SearchGroupName { get; set; }
        public int SearchEmployeeID { get; set; }
        public ErrorBInfo Error { get; set; }
    }
    public class OperationBusGridRowBData
    {
        public int GroupID { get; set; }
        public int? QuotaID { get; set; }
        public int VendorID { get; set; }
        public int? QuotaVendorID { get; set; }
        public int? GuideID { get; set; }
        public int? QuotaGuideID { get; set; }
        public DateTime BusStartDate { get; set; }
        public DateTime? GuideStartDate { get; set; }
        public DateTime? BusTime { get; set; }
        public DateTime? GuideTime { get; set; }
        public DateTime? BusFinishDate { get; set; }
        public DateTime? ConfirmDate { get; set; }
        public string BusGroupContractPath { get; set; }
        public string GroupName { get; set; }
        public string GroupCode { get; set; }
        public string Customer { get; set; }
        public int CustomerID { get; set; }
        public bool? IsInvoice { get; set; }
        public decimal? InvoicePrice { get; set; }
        public short? EstNumOfPerson { get; set; }
        public short? NumOfPerson { get; set; }
        public string Supplier { get; set; }
        public string QuotaBusSupplier { get; set; }
        public string QuotaBusCurr { get; set; }
        public decimal? QuotaBusRate { get; set; }
        public string QuotaGuide { get; set; }
        public string QuotaGuideCurr { get; set; }
        public decimal? QuotaGuideRate { get; set; }
        public decimal? QuotaGuideMisc { get; set; }
        public decimal? QuotaGuideStepOn { get; set; }
        public string Airport { get; set; }
        public decimal? GuideSalary { get; set; }
        public decimal? GuideMisc { get; set; }
        public decimal? GuideStepOn { get; set; }
        public decimal? GuideSalaryPaid { get; set; }
        public decimal? GuidePaidAmt { get; set; }
        public decimal? GuideAddCharge { get; set; }
        public decimal? Cost { get; set; }
        public string Guide { get; set; }
        public int? BusCount { get; set; }
        public int? BusSize { get; set; }
        public decimal? BusPrice { get; set; }
        public int? EmployeeID { get; set; }
        public int? ServiceDetID { get; set; }
        public int? ServiceID { get; set; }
        public string VendorSelStatus { get; set; }
        public int? StatusID { get; set; }
        public DateTime? ServiceDate { get; set; }
        public string StartCity { get; set; }
        public string EndCity { get; set; }
        public decimal? FirstPayAmt { get; set; }
        public string FirstPayMethod { get; set; }
        public DateTime? FirstPayDate { get; set; }
        public decimal? SecondPayAmt { get; set; }
        public string SecondPayMethod { get; set; }
        public DateTime? SecondPayDate { get; set; }
        public decimal? ThirdPayAmt { get; set; }
        public string ThirdPayMethod { get; set; }
        public DateTime? ThirdPayDate { get; set; }
        public decimal? GuideFirstPayAmt { get; set; }
        public string GuideFirstPayMethod { get; set; }
        public DateTime? GuideFirstPayDate { get; set; }
        public decimal? GuideSecondPayAmt { get; set; }
        public string GuideSecondPayMethod { get; set; }
        public DateTime? GuideSecondPayDate { get; set; }
        public decimal? GuideThirdPayAmt { get; set; }
        public string GuideThirdPayMethod { get; set; }
        public DateTime? GuideThirdPayDate { get; set; }
        public string Notes { get; set; }
    }
    public class OperationBusGridSaveRowBData
    {
        public int GroupID { get; set; }
        public int VendorID { get; set; }
        public int? NewVendorID { get; set; }
        public int? NewSelectedGuideID { get; set; }
        public decimal? QuotaRate { get; set; }
        public string QuotaCurr { get; set; }
        public DateTime? StartDate { get; set; }
        public DateTime? NewStartDate { get; set; }
        public DateTime? Time { get; set; }
        public DateTime? NewTime { get; set; }
        public DateTime? ServiceDate { get; set; }
        public DateTime? FinishDate { get; set; }
        public DateTime? ConfirmDate { get; set; }
        public int? SelectedGuideID { get; set; }
        public int SelectedVendorStatus { get; set; }
        public short? Pax { get; set; }
        public bool? IsInvoice { get; set; }
        public decimal? InvoicePrice { get; set; }
        public decimal? GuideSalary { get; set; }
        public decimal? GuideMisc { get; set; }
        public decimal? GuideStepOn { get; set; }
        public decimal? GuideSalaryPaid { get; set; }
        public decimal? GuidePaidAmt { get; set; }
        public decimal? GuideAddCharge { get; set; }
        public string Airport { get; set; }
        public string StartCity { get; set; }
        public string EndCity { get; set; }
        public int? EmployeeID { get; set; }
        public int? ServiceID { get; set; }
        public int? ServiceDetailID { get; set; }
        public int? BusCount { get; set; }
        public int? BusSize { get; set; }
        public decimal? BusPrice { get; set; }
        public decimal? FirstPayAmt { get; set; }
        public string FirstPayMethod { get; set; }
        public DateTime? FirstPayDate { get; set; }
        public decimal? SecondPayAmt { get; set; }
        public string SecondPayMethod { get; set; }
        public DateTime? SecondPayDate { get; set; }
        public decimal? ThirdPayAmt { get; set; }
        public string ThirdPayMethod { get; set; }
        public DateTime? ThirdPayDate { get; set; }
        public decimal? GuideFirstPayAmt { get; set; }
        public string GuideFirstPayMethod { get; set; }
        public DateTime? GuideFirstPayDate { get; set; }
        public decimal? GuideSecondPayAmt { get; set; }
        public string GuideSecondPayMethod { get; set; }
        public DateTime? GuideSecondPayDate { get; set; }
        public decimal? GuideThirdPayAmt { get; set; }
        public string GuideThirdPayMethod { get; set; }
        public DateTime? GuideThirdPayDate { get; set; }
        public string Notes { get; set; }
    }
    public class OperationBusVendorInfoBData
    {
        public int VendorID { get; set; }
        public string VendorName { get; set; }
        public string VendorCity { get; set; }
        public string VendorAddress { get; set; }
        public string VendorPhone { get; set; }
        public string VendorType { get; set; }
        public string VendorEmail { get; set; }
        public string VendorContactPerson { get; set; }
        public bool? IsFind { get; set; }
    }
    public class OperationBusGuideInfoBData
    {
        public int GuideID { get; set; }
        public string GuideName { get; set; }
    }
    public class OperationBusDetailInfoBData
    {
        public int? ServiceTypeID { get; set; }
        public string DetailCode { get; set; }
    }
    public class OperationBusServiceInfoBData
    {
        public int? ServiceTypeID { get; set; }
        public string ServiceCode { get; set; }
        public int ServiceID { get; set; }
    }
}
